package com.zhaoxi.project.mes.mapper;

import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import com.zhaoxi.project.mes.domain.MesBom;
import com.zhaoxi.project.mes.domain.MesBomLine;

/**
 * 生产物品Mapper接口
 * 
 * @author zhaoxi
 * @date 2023-08-28
 */
@Mapper
public interface MesBomMapper 
{
    /**
     * 查询生产物品
     * 
     * @param goodsCode 生产物品主键
     * @return 生产物品
     */
    public MesBom selectMesBomByGoodsCode(String goodsCode);

    /**
     * 查询生产物品列表
     * 
     * @param mesBom 生产物品
     * @return 生产物品集合
     */
    public List<MesBom> selectMesBomList(MesBom mesBom);

    /**
     * 新增生产物品
     * 
     * @param mesBom 生产物品
     * @return 结果
     */
    public int insertMesBom(MesBom mesBom);

    /**
     * 修改生产物品
     * 
     * @param mesBom 生产物品
     * @return 结果
     */
    public int updateMesBom(MesBom mesBom);

    /**
     * 删除生产物品
     * 
     * @param goodsCode 生产物品主键
     * @return 结果
     */
    public int deleteMesBomByGoodsCode(String goodsCode);

    /**
     * 批量删除生产物品
     * 
     * @param goodsCodes 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMesBomByGoodsCodes(String[] goodsCodes);

    /**
     * 批量删除物品物料清单明细
     * 
     * @param goodsCodes 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMesBomLineByGoodsCodes(String[] goodsCodes);
    
    /**
     * 批量新增物品物料清单明细
     * 
     * @param mesBomLineList 物品物料清单明细列表
     * @return 结果
     */
    public int batchMesBomLine(List<MesBomLine> mesBomLineList);
    

    /**
     * 通过生产物品主键删除物品物料清单明细信息
     * 
     * @param goodsCode 生产物品ID
     * @return 结果
     */
    public int deleteMesBomLineByGoodsCode(String goodsCode);
}
